package simple;

import java.util.HashMap;
import java.util.Map;

/*
*两数相加
*给出指定的值，在数组里找到这个值的两个加数
*
*/
public class Solution{
        public int[] twoSum(int[] nums,int target){
                         
            Map<Integer,Integer> numPosition  = new HashMap<Integer,Integer>();
            for(int i=0;i<nums.length;i++){
                 if(numPosition.containsKey(nums[i])){  
                          //包含，证明数组里有它的另一个加数
                          int [] res = {numPosition.get(nums[i]),i};
                          return res;
                 }
                //不包含
                numPosition.put(target-nums[i],i);
            }
 
          //遍历完了都没找到，抛出异常
          throw new IllegalArgumentException("没有这两个数");
          }

}